// 请帮我创建一个完整的运营位服务类，具体要求：

// **类结构：**
// - 类名：OperationalService
// - 导出默认实例
// - 使用现有的database模块

// **核心方法：**
// 1. getOperational(status: number) - 获取运营位数据
//    - 参数：status（状态筛选）
//    - 查询条件：status >= 传入的状态值
//    - 返回：运营位数据数组

// 2. addOperational(op: Operational_Positions) - 新增运营位
//    - 参数：运营位对象（不含id和create_at）
//    - 插入字段：name, status, cover, content, uri
//    - 返回：创建结果

// 3. updateOperational(status: number, id: number) - 更新运营位状态
//    - 参数：status（新状态），id（运营位ID）
//    - 更新条件：id = 指定ID
//    - 返回：更新结果

// **接口定义：**
// Operational_Positions接口包含：
// - id?: number（可选）
// - name: string
// - status: number  
// - create_at?: string（可选）
// - cover: string
// - content: string
// - uri: string

// **错误处理：**
// - 数据库操作失败时reject错误信息
// - 成功时resolve相应数据



import database from '../../../utils/database'
// 数据库中运营位表的表名
const tableName = 'Operational_Positions'

// 定义运营位模型接口
// 其中id和created_at在创建运营位时是无需指定的，接口中将其设置为可选属性
export interface Operational_Positions {
    id?: number;        // 标识
    name: string;       // 名称
    status: number;     // 状态
    create_at?: string; // 创建时间
    cover: string;      // 封面
    content: string;    // 内容
    uri: string;        // 跳转path
}

// 用户服务类
export class OperationalService {
    // 获取运营位数据
    getOperational(status: number) {
        return new Promise((resolve, reject)=>{
            database.queryData(tableName, ['*'], `status >= ${status}`, (data)=>{
                if (!data) {
                    reject("获取运营位数据失败")
                } else {
                    let result = data.result
                    resolve(result)
                }
            })
        });
    }
    // 新增运营位
    addOperational(op: Operational_Positions) {
        return new Promise((resolve, reject)=>{
            let keys = ['name', 'status', 'cover', 'content', 'uri']
            let values = [op.name, op.status, op.cover, op.content, op.uri]
            database.insertData(tableName, keys, values, (data)=>{
                if (!data) {
                    reject("创建运营位数据失败")
                } else {
                    console.log(data)
                    resolve(null)
                }
            })
        })
    }
    // 更新运营位状态
    updateOperational(status: number, id: number) {
        return new Promise((resolve, _reject)=>{
            database.updateData(tableName, `status = ${status}`, `id = ${id}`)
            resolve(null)
        }) 
    }
}

// 导出服务类
export default new OperationalService();